package vista;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;
import bean.JTextFieldValidator;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaEquipo extends javax.swing.JFrame {
	private JPanel panEquipo;
	private JLabel lblPais;
	private JButton btnCancelar;
	private JButton btnRegistrar;
	private JButton btnCargar;
	private JTable tblNadadores;
	private JScrollPane scpTablaNadadores;
	private JLabel lblNadadores;
	private JPanel panNadadores;
	private JTextFieldValidator txtEntrenador;
	private JTextFieldValidator txtAnnoFundacion;
	private JTextFieldValidator txtPais;
	private JTextFieldValidator txtCodigo;
	private JLabel lblEntrenador;
	private JLabel lblAnnoFed;
	private JLabel lblCodigo;
	
	private VentanaNadadorModeloTabla nadadores;
	private JButton btnSalir;

	/**
	* Auto-generated main method to display this JFrame
	*/
		
	public VentanaEquipo() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Ventana Equipo");
			{
				panEquipo = new JPanel();
				getContentPane().add(panEquipo, BorderLayout.CENTER);
				panEquipo.setLayout(null);
				panEquipo.setPreferredSize(new java.awt.Dimension(522, 327));
				panEquipo.setLayout(null);
				{
					lblCodigo = new JLabel();
					panEquipo.add(lblCodigo);
					lblCodigo.setText("Código:");
					lblCodigo.setBounds(60, 41, 101, 15);
				}
				{
					lblPais = new JLabel();
					panEquipo.add(lblPais);
					lblPais.setText("País:");
					lblPais.setBounds(313, 42, 59, 15);
				}
				{
					lblAnnoFed = new JLabel();
					panEquipo.add(lblAnnoFed);
					lblAnnoFed.setText("Año de fundación de la Federación:");
					lblAnnoFed.setBounds(60, 84, 288, 15);
				}
				{
					lblEntrenador = new JLabel();
					panEquipo.add(lblEntrenador);
					lblEntrenador.setText("Entrenador:");
					lblEntrenador.setBounds(60, 118, 101, 15);
				}
				{
					txtCodigo = new JTextFieldValidator(25, JTextFieldValidator.SOLO_NUMEROS);
					panEquipo.add(txtCodigo);
					txtCodigo.setBounds(173, 38, 100, 22);
				}
				{
					txtPais = new JTextFieldValidator(25, JTextFieldValidator.LETRAS_Y_ESPACIOS);
					panEquipo.add(txtPais);
					txtPais.setBounds(378, 39, 100, 22);
				}
				{
					txtAnnoFundacion = new JTextFieldValidator(4, JTextFieldValidator.SOLO_NUMEROS);
					panEquipo.add(txtAnnoFundacion);
					txtAnnoFundacion.setBounds(378, 82, 97, 22);
				}
				{
					txtEntrenador = new JTextFieldValidator(50, JTextFieldValidator.LETRAS_Y_ESPACIOS);
					panEquipo.add(txtEntrenador);
					txtEntrenador.setBounds(172, 115, 92, 22);
				}
				{
					panNadadores = new JPanel();
					panEquipo.add(panNadadores);
					panNadadores.setLayout(null);
					panNadadores.setBounds(21, 170, 475, 136);
					{
						lblNadadores = new JLabel();
						panNadadores.add(lblNadadores);
						lblNadadores.setText("Nadadores:");
						lblNadadores.setBounds(18, 12, 112, 15);
					}
					{
						btnCargar = new JButton();
						panNadadores.add(btnCargar);
						btnCargar.setText("Cargar");
						btnCargar.setBounds(331, 103, 97, 22);
					}
					{
						scpTablaNadadores = new JScrollPane();
						panNadadores.add(scpTablaNadadores);
						scpTablaNadadores.setBounds(18, 33, 435, 70);
						{
							TableModel tblNadadoresModel = 
								new DefaultTableModel();
							tblNadadores = new JTable();
							scpTablaNadadores.setViewportView(tblNadadores);
							tblNadadores.setModel(tblNadadoresModel);
						}
					}
				}
				{
					btnRegistrar = new JButton();
					panEquipo.add(btnRegistrar);
					btnRegistrar.setText("Registrar");
					btnRegistrar.setBounds(52, 318, 108, 22);
				}
				{
					btnCancelar = new JButton();
					panEquipo.add(btnCancelar);
					btnCancelar.setText("Cancelar");
					btnCancelar.setBounds(184, 318, 107, 22);
				}
				{
					btnSalir = new JButton();
					panEquipo.add(btnSalir);
					btnSalir.setText("Salir");
					btnSalir.setBounds(353, 318, 80, 22);
				}
			}
			pack();
			this.setSize(524, 393);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	public void agregarListener(ActionListener accion){
		   btnRegistrar.addActionListener(accion);
		   btnCancelar.addActionListener(accion);
		   btnCargar.addActionListener(accion);
		   btnSalir.addActionListener(accion);
		}
	
	public String getCodigo(){
		return txtCodigo.getText();
	}
	
	public String getPais(){
		return txtPais.getText();
	}
	
	public String getAnnoFundacion(){
		return txtAnnoFundacion.getText();
	}
	
	public String getEntrenador(){
		return txtEntrenador.getText();
	}
	
	public void mostrarMensaje(String mensaje){
		JOptionPane.showMessageDialog(this, mensaje);
	}
	
	public void blanquearCampos(){
		txtEntrenador.setText("");
		txtAnnoFundacion.setText("");
		txtPais.setText("");
		txtCodigo.setText("");
		nadadores = new VentanaNadadorModeloTabla();
		tblNadadores.setModel(nadadores);
	}
	
	public void setListado(AbstractTableModel abstractTableModel){
		tblNadadores.setModel(abstractTableModel);
	}

}
